package com.gjy.util.basic;

/**
 * @author gjy
 * @version 1.0
 * @since 2025-06-23 15:03:52
 */
public class RegexpUtil {

    /**
     * 验证电话号码是否符合中国大陆手机号码的常见格式
     * 此方法使用正则表达式来匹配手机号码的前三位数字和后八位任意数字
     * 它覆盖了中国大陆主要的手机运营商（如中国移动、中国联通和中国电信）的号段
     *
     * @param phone 待验证的电话号码字符串
     * @return 如果电话号码符合指定格式，则返回true；否则返回false
     */
    public static boolean phone(String phone) {
        // 定义中国大陆手机号码的正则表达式
        String regex = "^1(3[0-9]|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\\d{8}$";
        // 使用matches方法验证电话号码是否符合正则表达式定义的格式
        return phone.matches(regex);
    }

    /**
     * 验证给定的电子邮件地址是否有效
     *
     * @param email 待验证的电子邮件地址
     * @return 如果电子邮件地址有效则返回true，否则返回false
     */
    public static boolean email(String email) {
        // 定义电子邮件地址的正则表达式，用于匹配有效的电子邮件地址格式
        String regex = "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$";
        // 使用正则表达式验证传入的电子邮件地址是否符合规范
        return email.matches(regex);
    }

}
